#pragma once

#include "Entity.h"
#include "..\\..\\SGD Wrappers\SGD_Geometry.h"

class AIState;
class Enemy : public Entity
{
private:
	SGD::Point patrolPointLeft;
	SGD::Point patrolPointRight;
	AIState* pAIState;
	int iStateID;

public:
	Enemy();
	virtual ~Enemy();

	int Update(float dt);
	void HandleCollision(const GameObject* collision);
	void HandleAttackCollision(const GameObject* collision);

	// Accessors
	SGD::Point GetPatrolPointLeft();
	SGD::Point GetPatrolPointRight();
	AIState* GetAIState();
	int GetStateID();

	// Mutators
	void SetPatrolPointLeft(SGD::Point point);
	void SetPatrolPointRight(SGD::Point point);

	void SetAIState(AIState* state);
	void SetStateID(int id);
};

